Matthias Clasen [Sat, 30 Jan 2021 02:41:16 +0000 (21:41 -0500)]
Fix unsetting focus
Make _gtk_window_unset_focus_and_default queue the changes
for after the next draw. This achieves two things: first,
it avoids invalidating css at the wrong time (e.g. when
setting child-visible during size-allocation), and second,
it defers the focus change until after the widget is
hidden, so that moving the focus has the desired effect
of picking a different, visible widget.
Fixes: #3623
Matthias Clasen [Fri, 29 Jan 2021 20:16:13 +0000 (20:16 +0000)]
Merge branch 'msvc.nounistd' into 'master'
testsuite/testutils.c: Fix build on Visual Studio
See merge request GNOME/gtk!3131
Matthias Clasen [Fri, 29 Jan 2021 19:06:03 +0000 (19:06 +0000)]
Merge branch 'gst-vaapi-fix' into 'master'
gtkgstsink: Sync texture before handing it to GDK
See merge request GNOME/gtk!3114
Matthias Clasen [Fri, 29 Jan 2021 19:05:47 +0000 (19:05 +0000)]
Merge branch 'ci-gstreamer-deps' into 'master'
Ci gstreamer deps
See merge request GNOME/gtk!3133
Matthias Clasen [Fri, 29 Jan 2021 18:47:31 +0000 (18:47 +0000)]
Merge branch 'ebassi/for-master' into 'master'
Ebassi/for master
See merge request GNOME/gtk!3134
Jan Alexander Steffens (heftig) [Mon, 25 Jan 2021 21:43:11 +0000 (22:43 +0100)]
gtkgstsink: Sync texture before handing it to GDK
We need to synchronize when moving the texture between contexts, or we
get glitches with VA-API decoding.
Matthias Clasen [Fri, 29 Jan 2021 17:49:20 +0000 (12:49 -0500)]
ci: Add mesa-libGLES-devel
Try again, since libglvnd-devel is not the right choice.
Emmanuele Bassi [Fri, 29 Jan 2021 16:30:19 +0000 (16:30 +0000)]
build: Disable subproject Cairo tests
There's really no point in running them.
Emmanuele Bassi [Thu, 28 Jan 2021 15:42:22 +0000 (15:42 +0000)]
docs: Annotate XML fragments as such
This way we can get syntax highlighting.
Emmanuele Bassi [Thu, 28 Jan 2021 14:54:10 +0000 (14:54 +0000)]
docs: Escape bare tags
Otherwise tools processing the description of GtkWidget will be *very*
confused.
Emmanuele Bassi [Thu, 28 Jan 2021 14:53:39 +0000 (14:53 +0000)]
docs: Use the appropriate syntax for code block language
Emmanuele Bassi [Thu, 28 Jan 2021 14:53:25 +0000 (14:53 +0000)]
docs: Remove stray code block end marker
Jonas Ådahl [Fri, 29 Jan 2021 16:21:05 +0000 (16:21 +0000)]
Merge branch 'gtk-surface-release-4' into 'master'
wayland: Signal gtk-shell surface destruction to the server
See merge request GNOME/gtk!3129
Matthias Clasen [Fri, 29 Jan 2021 16:14:54 +0000 (11:14 -0500)]
ci: Use v26 of the Fedora image
This includes libglvnd-devel and should fix using the
gstreamer gl support.
Matthias Clasen [Fri, 29 Jan 2021 16:04:38 +0000 (11:04 -0500)]
ci: Add libglvnd-devel to images
gstreamers gl support included headers from this
package without depending on it. Work around this
packaging error by explicitly adding the needed
dependencies.
Matthias Clasen [Fri, 29 Jan 2021 15:15:43 +0000 (15:15 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
Closes #3615
See merge request GNOME/gtk!3132
Chun-wei Fan [Fri, 29 Jan 2021 09:52:54 +0000 (17:52 +0800)]
testsuite/testutils.c: Fix build on Visual Studio
Visual Studio does not come with unistd.h, but Windows do have write() and
close() in io.h, so include io.h instead of unistd.h on Windows.
For MinGW, unistd.h in turn includes io.h.
Timm Bäder [Fri, 29 Jan 2021 08:43:44 +0000 (09:43 +0100)]
gl renderer: Fix viewport computation when rendering offscreen
Fixes #3615
Timm Bäder [Fri, 29 Jan 2021 08:05:03 +0000 (09:05 +0100)]
showrendernode: Monitor input file
Timm Bäder [Thu, 28 Jan 2021 15:40:11 +0000 (16:40 +0100)]
node editor: Show some default node data
Show case the icon and the render node format this way.
Timm Bäder [Thu, 28 Jan 2021 11:31:18 +0000 (12:31 +0100)]
shader builder: Improve error output
Timm Bäder [Sun, 24 Jan 2021 04:27:07 +0000 (05:27 +0100)]
node editor: Make help textview monospace
Otherwise the nice markdown tables don't line up.
Matthias Clasen [Fri, 29 Jan 2021 01:41:56 +0000 (01:41 +0000)]
Merge branch 'pango-glyph-positions' into 'master'
Tell pango not to round glyph positions
See merge request GNOME/gtk!2058
Matthias Clasen [Thu, 28 Jan 2021 23:19:42 +0000 (18:19 -0500)]
gsk: Fix render node serialization
When looking for ascii glyphs, we must match
the pango shape flags that GTK is using.
Matthias Clasen [Thu, 28 Jan 2021 23:17:22 +0000 (18:17 -0500)]
widget: Use subpixel positioning
Before turning off pangos rounding of glyph positions,
we must check if the cairo we are using is new enough
to have working subpixel positioning (the relevant
cairo commit is
52a7c79fd4ff96bb5fac175f0199819b0f8c18fc).
Matthias Clasen [Thu, 28 Jan 2021 23:16:16 +0000 (18:16 -0500)]
gsk: Fix a thinko
With subpixel positioning, we need to offset the
cached glyphs by their phase.
Sebastian Keller [Thu, 28 Jan 2021 21:31:03 +0000 (22:31 +0100)]
wayland: Signal gtk-shell surface destruction to the server
This adds a "release" destructor for the gtk_surface1 interface which
signals to the server that a surface has been destroyed on the client
side, which the current "destroy" does not do.
Ideally the protocol would have specified a destroy request marked as
destructor to handle this automatically, however this is no longer
possible due to the destroy method being implicitly generated in the
absence of an explicit request in the protocol. Adding a destroy request
marked as destructor now would generate a new destroy method that
unconditionally would send the request to the server, which would break
clients running on servers not supporting that request.
Anders Jonsson [Thu, 28 Jan 2021 20:39:06 +0000 (20:39 +0000)]
Update Swedish translation
(cherry picked from commit
5a5bb9099e8e8781a307ce3f9f72e52937d3d411)
Matthias Clasen [Thu, 28 Jan 2021 19:12:18 +0000 (19:12 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!3127
Matthias Clasen [Thu, 28 Jan 2021 05:01:35 +0000 (00:01 -0500)]
label: Drop some unused includes
Matthias Clasen [Thu, 28 Jan 2021 04:36:55 +0000 (23:36 -0500)]
Remove vestigial glade support
These files have not been kept up to date, and
glade doesn't work with GTK4 currently.
Matthias Clasen [Thu, 28 Jan 2021 04:34:06 +0000 (23:34 -0500)]
Move the gesture icons in the right place
Put these images into gtk/icons, where they belong.
Matthias Clasen [Thu, 28 Jan 2021 04:28:36 +0000 (23:28 -0500)]
Drop unused logo resource
The inspector no longer sets a window icon.
Matthias Clasen [Thu, 28 Jan 2021 04:07:55 +0000 (23:07 -0500)]
Reduce use of GtkStyleContext
Remove some unnecessary uses of GtkStyleContext where
we can directly go to the GtkCssStyle, and and drop
unnnecessary includes.
Matthias Clasen [Thu, 28 Jan 2021 03:21:02 +0000 (22:21 -0500)]
Unify border-spacing handling
Avoid using GtkStyleContext unnecessarily, just go
to the css node directly.
Matthias Clasen [Thu, 28 Jan 2021 02:56:12 +0000 (21:56 -0500)]
build: Redo the tools build
Move the tools directory to be toplevel, and instead of
recompiling sources twice, link them with the our new
static libgtk.a.
Matthias Clasen [Thu, 28 Jan 2021 17:15:43 +0000 (17:15 +0000)]
Merge branch 'wip/fl/gl-renderer-fixes' into 'master'
gskglshaderbuilder: bind correct uv location
See merge request GNOME/gtk!3128
Fabio Lagalla [Thu, 28 Jan 2021 16:06:12 +0000 (17:06 +0100)]
gskglshaderbuilder: bind correct uv location
Matthias Clasen [Thu, 28 Jan 2021 02:04:48 +0000 (02:04 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
builder-tool: Translate GtkImage:pixbuf
See merge request GNOME/gtk!3126
Matthias Clasen [Thu, 28 Jan 2021 01:43:57 +0000 (01:43 +0000)]
Merge branch 'wip/fl/gl-gradients' into 'master'
OpenGL gradient rendering improvements and additions
See merge request GNOME/gtk!3105
Matthias Clasen [Wed, 27 Jan 2021 22:01:51 +0000 (17:01 -0500)]
builder-tool: Translate GtkImage:pixbuf
The pixbuf property doesn't exist anymore. It is
commonly set to a path in ui files, so translate it
to the file property.
Matthias Clasen [Wed, 27 Jan 2021 21:53:02 +0000 (21:53 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
docs: Add gtk_widget_grab_default to migration guide
See merge request GNOME/gtk!3125
Matthias Clasen [Wed, 27 Jan 2021 18:50:05 +0000 (13:50 -0500)]
docs: Add gtk_widget_grab_default to migration guide
Point out the replacement for this api.
Timm Bäder [Wed, 27 Jan 2021 18:34:10 +0000 (18:34 +0000)]
Merge branch 'sophie-h-master-patch-47269' into 'master'
widget: get_name() is not nullable
See merge request GNOME/gtk!3124
Sophie Herold [Wed, 27 Jan 2021 17:49:17 +0000 (17:49 +0000)]
widget: get_name() is not nullable
Partial revert of !2905
Fabio Lagalla [Wed, 27 Jan 2021 11:52:11 +0000 (12:52 +0100)]
gskglrenderer: Remove switch fallthrough comments
Fabio Lagalla [Tue, 26 Jan 2021 15:15:12 +0000 (16:15 +0100)]
gskrendernode: Cache angle in conic gradients
Fabio Lagalla [Tue, 26 Jan 2021 13:57:02 +0000 (14:57 +0100)]
gskglrenderer: Use gboolean instead of bool
Fabio Lagalla [Tue, 26 Jan 2021 11:49:16 +0000 (12:49 +0100)]
gskglrenderer: First class support of repeating-radial-gradient
Fabio Lagalla [Tue, 26 Jan 2021 11:46:22 +0000 (12:46 +0100)]
gskglrenderer: First class support of repeating-linear-gradient
Fabio Lagalla [Tue, 26 Jan 2021 11:40:48 +0000 (12:40 +0100)]
gskglrenderer: Optimize conic-gradient shader
Fabio Lagalla [Tue, 26 Jan 2021 11:32:04 +0000 (12:32 +0100)]
gskglrenderer: Optimize radial-gradient shader
Fabio Lagalla [Tue, 26 Jan 2021 11:11:26 +0000 (12:11 +0100)]
gskglrenderer: Optimize linear-gradient shader
Matthias Clasen [Wed, 27 Jan 2021 05:34:21 +0000 (05:34 +0000)]
Merge branch 'fix-can-focus' into 'master'
widget: Fix can-focus
Closes #3610
See merge request GNOME/gtk!3123
Matthias Clasen [Wed, 27 Jan 2021 05:14:30 +0000 (05:14 +0000)]
Merge branch 'search-entry-capture' into 'master'
Search entry capture
Closes #3098
See merge request GNOME/gtk!3115
Matthias Clasen [Wed, 27 Jan 2021 04:43:11 +0000 (23:43 -0500)]
widget: Fix can-focus
Setting can-focus to FALSE on a widget is supposed
to prevent focus from entering the entire subtree.
So when we grab focus directly to a widget, we need
to check the can-focus flag not just of the widget
itself, but all its ancestors.
Fixes: #3610
Matthias Clasen [Wed, 27 Jan 2021 03:17:57 +0000 (22:17 -0500)]
searchentry: Capture events in the bubble phase
This is an unfortunate naming clash, but it avoids
an event handling clash between the capture widget
and its children.
Fixes: #3098
Matthias Clasen [Wed, 27 Jan 2021 03:11:17 +0000 (03:11 +0000)]
Merge branch 'css-crossfade-color' into 'master'
Css crossfade color
See merge request GNOME/gtk!3122
Matthias Clasen [Wed, 27 Jan 2021 02:10:47 +0000 (21:10 -0500)]
css: Support colors in cross fades
The CSS Image Spec (Level 4) allows colors in
cross-fade expressions to specify solid-color images.
Support this.
Matthias Clasen [Wed, 27 Jan 2021 02:10:11 +0000 (21:10 -0500)]
css: Add a constructor for GtkCssImageFallback
Add a way to create a solid color image.
Matthias Clasen [Wed, 27 Jan 2021 01:33:16 +0000 (20:33 -0500)]
docs: Cosmetics
Tweak the css docs slightly.
Matthias Clasen [Wed, 27 Jan 2021 01:11:54 +0000 (01:11 +0000)]
Merge branch 'gst-vaapi-fix-pre' into 'master'
Minor fixes to gtkgstsink
See merge request GNOME/gtk!3120
Matthias Clasen [Wed, 27 Jan 2021 00:42:40 +0000 (00:42 +0000)]
Merge branch 'css-text-decoration' into 'master'
css: Fix text-decoration-line support
Closes #3621
See merge request GNOME/gtk!3121
Matthias Clasen [Tue, 26 Jan 2021 22:40:34 +0000 (17:40 -0500)]
css: Fix text-decoration-line support
This property needs to be treated as flags, not as
enum, since it should be possible to specify more
than one value, e.g.
text-decoration-line: underline overline;
Tests included.
Fixes: #3621
Jan Alexander Steffens (heftig) [Mon, 25 Jan 2021 21:38:45 +0000 (22:38 +0100)]
gtkgstsink: Use video_frame_free also for the GL path
The video frame needs to stay mapped while the texture is in use.
Avoid using g_memdup because the structure is not supposed to be moved.
Jan Alexander Steffens (heftig) [Mon, 25 Jan 2021 21:39:32 +0000 (22:39 +0100)]
gtkgstsink: Report allocation size even if no pool requested
We can do that so we should.
Matthias Clasen [Tue, 26 Jan 2021 16:25:24 +0000 (16:25 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
docs: Update border-size docs
See merge request GNOME/gtk!3119
Matthias Clasen [Tue, 26 Jan 2021 15:40:22 +0000 (10:40 -0500)]
docs: Update border-size docs
GtkCenterLayout respected border-size as well.
Marek Černocký [Tue, 26 Jan 2021 15:21:18 +0000 (16:21 +0100)]
Updated Czech translation
Marek Černocký [Tue, 26 Jan 2021 15:12:36 +0000 (16:12 +0100)]
Updated Czech translation
Matthias Clasen [Tue, 26 Jan 2021 13:57:50 +0000 (13:57 +0000)]
Merge branch 'ebassi/for-master' into 'master'
Fixes for gdk_surface_translate_coordinates()
See merge request GNOME/gtk!3118
Emmanuele Bassi [Tue, 26 Jan 2021 12:56:32 +0000 (12:56 +0000)]
Validate arguments
We're just assuming everything is not NULL or with a valid type.
Emmanuele Bassi [Tue, 26 Jan 2021 12:54:53 +0000 (12:54 +0000)]
Make the inout argument logic clearer
It's easy to misread a `+=`.
Emmanuele Bassi [Tue, 26 Jan 2021 12:54:00 +0000 (12:54 +0000)]
Fix annotations
The arguments are really (inout), not (out).
Matthias Clasen [Tue, 26 Jan 2021 12:47:38 +0000 (12:47 +0000)]
Merge branch 'circular-menubutton' into 'master'
Allow circular menubuttons
Closes #3423 and #3523
See merge request GNOME/gtk!3117
Emmanuele Bassi [Tue, 26 Jan 2021 12:28:55 +0000 (12:28 +0000)]
Merge branch 'ricotz/for-master' into 'master'
gdk: Add missing g-i annotations for gdk_surface_translate_coordinates
See merge request GNOME/gtk!3112
Matthias Clasen [Tue, 26 Jan 2021 05:44:14 +0000 (05:44 +0000)]
Merge branch 'css-overline' into 'master'
css: Support overline
See merge request GNOME/gtk!3116
Matthias Clasen [Tue, 26 Jan 2021 05:17:08 +0000 (00:17 -0500)]
Allow circular menubuttons
Fixes #3523
Matthias Clasen [Tue, 26 Jan 2021 05:07:46 +0000 (05:07 +0000)]
Merge branch 'adaptive-emojichooser' into 'master'
Adaptive emojichooser
Closes #3307
See merge request GNOME/gtk!2989
Matthias Clasen [Tue, 26 Jan 2021 05:04:04 +0000 (00:04 -0500)]
css: Support overline
We can support text-decoration-line: overline,
since pango supports it now.
Matthias Clasen [Tue, 22 Dec 2020 03:46:52 +0000 (22:46 -0500)]
popover: Try to not exceed monitor bounds
When the natural size of the popover exceeds
the monitor width, clamp it to fit on screen.
This gives the Emoji chooser a chance to
work on phone screens.
Fixes: #3307
Matthias Clasen [Tue, 22 Dec 2020 03:45:48 +0000 (22:45 -0500)]
emojichooser: Allow the section buttons to wrap
Use a flowbox instead of a horizontal box for
the section buttons at the bottom, so they can
wrap and allow for narrow layout.
We also need to stop giving the scrolledwindow
a content height, so it can shrink to make room
for more rows of section buttons.
Matthias Clasen [Tue, 22 Dec 2020 03:44:28 +0000 (22:44 -0500)]
emojichooser: Make keynav work with != 7 columns
The number of 7 columns was hardcoded in a few places
related to keynav across sections. The flowbox does
not have an api for it, but we can find out anyway
how many columns there are.
Matthias Clasen [Tue, 26 Jan 2021 03:16:29 +0000 (22:16 -0500)]
searchbar: Capture events in the bubble phase
This is an unfortunate naming clash, but it avoids
an event handling clash between the capture widget
and its children.
Fixes: #3098
Matthias Clasen [Tue, 26 Jan 2021 03:15:56 +0000 (22:15 -0500)]
searchbar: Fix documentation mishap
The css section was inserted between the example
and the sentence referring to it.
Matthias Clasen [Tue, 26 Jan 2021 02:53:38 +0000 (02:53 +0000)]
Merge branch 'simplify-get-module-path' into 'master'
modules: Simplify _gtk_get_module_path
See merge request GNOME/gtk!3113
Jan Alexander Steffens (heftig) [Mon, 25 Jan 2021 21:33:46 +0000 (22:33 +0100)]
modules: Simplify _gtk_get_module_path
Remove the bizarre loops.
Rico Tzschichholz [Mon, 25 Jan 2021 19:05:52 +0000 (20:05 +0100)]
gdk: Add missing g-i annotations for gdk_surface_translate_coordinates
Matthias Clasen [Mon, 25 Jan 2021 13:35:47 +0000 (13:35 +0000)]
Merge branch 'wip/jimmac/larger-scrollbars-gtk4' into 'master'
Adwaita: make scrollbars larger
Closes #1886
See merge request GNOME/gtk!3109
Jakub Steiner [Mon, 25 Jan 2021 13:15:22 +0000 (14:15 +0100)]
Adwaita: make scrollbars larger
When using scrollbars as active controls, rather than their primary role as indicators,
increase their size as click targets.
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1886
Matthias Clasen [Mon, 25 Jan 2021 12:58:36 +0000 (12:58 +0000)]
Merge branch 'transform-origin' into 'master'
Transform origin
See merge request GNOME/gtk!3108
Matthias Clasen [Mon, 25 Jan 2021 04:47:10 +0000 (23:47 -0500)]
Add a reftest for transform-origin
Matthias Clasen [Mon, 25 Jan 2021 03:46:01 +0000 (22:46 -0500)]
css: Implement transform-origin
Implement most of transform-origin. We only
handle the xy components currently, which lets
us reuse the position value implementation that
is used for background-position.
Matthias Clasen [Mon, 25 Jan 2021 03:47:25 +0000 (22:47 -0500)]
docs: Fix reference for css transform
Refer to the canonical location for the css
transform spec.
A S Alam [Sun, 24 Jan 2021 22:52:13 +0000 (22:52 +0000)]
Update Punjabi translation
(cherry picked from commit
64519d73bb12c3163539b39033b46057b1b5279b)
A S Alam [Sun, 24 Jan 2021 22:42:04 +0000 (22:42 +0000)]
Update Punjabi translation
(cherry picked from commit
518331812eec46cc6cc999df010c31f7127fc9bf)
Efstathios Iosifidis [Sun, 24 Jan 2021 10:17:02 +0000 (10:17 +0000)]
Update Greek translation
(cherry picked from commit
281c17c400c4cebb1a5b0b0c8ab14d06ce4a4791)
Matthias Clasen [Sat, 23 Jan 2021 16:15:23 +0000 (16:15 +0000)]
Merge branch 'static-lib-for-tests' into 'master'
Static lib for tests
See merge request GNOME/gtk!3107
Matthias Clasen [Sat, 23 Jan 2021 03:50:42 +0000 (22:50 -0500)]
testsuite: Link some tests statically
Link tests for private apis statically.
Matthias Clasen [Sat, 23 Jan 2021 02:50:55 +0000 (21:50 -0500)]
Create a static library
Rearrange our build to create a libgtk.a for the the contents of gtk/,
and build libgtk-4.so from our per-subdirectory static libraries.
This will let us link tests statically for testing internal apis.